package com.hjw.dao;

import com.hjw.pojo.DVD;

import java.time.LocalDate;

/**
 * 定义了DVD的基本方法
 * 添加DVD、查看DVD信息、借出DVD、归还DVD、删除DVD
 * @author hjwStrart
 * @create 2022-01-14 10:55
 */
public interface DVDDao {

    /**
     * 添加DVD
     * @param dvd  dvd信息
     * @return true添加成功 false添加失败
     */
    Boolean addDVD(DVD dvd);

    /**
     * 查询所有DVD信息
     * @return  DVD[]所有的DVD信息
     */
    DVD[] queryAllDVD();

    /**
     * 根据指定名称查询DVD信息
     * @param name   DVD名称
     * @return   DVD指定name  null没查询到
     */
    DVD queryOneDVD(String name);

    /**
     * 借出指定名称的DVD,若已借出返回false
     * @param name  DVD名称
     * @param localDate   借出时间
     * @return true借出成功 false借出失败
     */
    Boolean loanDVD(String name, LocalDate localDate);

    /**
     * 归还指定名称的DVD
     * @param name   DVD名称
     *@param localDate   归还时间
     * @return  true归还成功 false归还失败
     */
    Boolean returnDVD(String name, LocalDate localDate);

    /**
     * 删除指定名称的DVD
     * @param name DVD名称
     * @return   true删除成功 false删除失败
     */
    Boolean deleteDVD(String name);

}
